#ifndef	_CAUDIOFRAMEHEADER_H
#define	_CAUDIOFRAMEHEADER_H

// NOTICE : all word & dword are little-endian

typedef	struct {
	unsigned long channelNo;
	unsigned long videoLen;
	unsigned long timeTick;
	unsigned short audioLen;
	unsigned char bIFrame;
	unsigned char bVol;
} BtlFrameHeader;

#define	CAUDIOMAGICNUM			0x12345678

#define	CAUDIODATATYPE_INVALID	0
#define	CAUDIODATATYPE_PCM		1
#define	CAUDIODATATYPE_ADPCM	2
#define	CAUDIODATATYPE_MP3		3
#define	CAUDIODATATYPE_G711		4

typedef struct {
	unsigned long magicNum;
	unsigned long audioLength;
	unsigned char audioDataType;
	unsigned char reserved[7];
} CAudioFrameHeader;

#ifndef CAUDIO_FRAME_HEADER_ADPCM
#define CAUDIO_FRAME_HEADER_ADPCM
typedef struct {
	unsigned long magicNum;
	unsigned long audioLength;
	unsigned char audioDataType;
	unsigned char audioDataCheckSum;
	short valprev;		// ADPCM PARAM
	char index;			// ADPCM PARAM
	unsigned char reserved[3];
} CAudioFrameHeader_ADPCM;
#endif

#endif	_CAUDIOFRAMEHEADER_H

